#ifndef CALIBRATION_VIEW_FRESHBLOODCALIBRATIONFORM_H
#define CALIBRATION_VIEW_FRESHBLOODCALIBRATIONFORM_H

#include <QWidget>
#include "CalibrationCalculateDialog.h"
#include "Interface/IForm.h"
#include "Calibration/BusinessLogic/FreshBloodCalibration.h"
#include <QCloseEvent>
#include <QShowEvent>

namespace Ui{
class FreshBloodCalibrationWgt;
}


class FreshBloodCalibrationForm : public IForm
{
    Q_OBJECT
public:
    explicit FreshBloodCalibrationForm(QWidget *parent = 0);
    ~FreshBloodCalibrationForm();

    void showEvent(QShowEvent *);
    void closeEvent(QCloseEvent *);

    ETsStatusType canShow();
    QVariant getParams();

    void setParams(QVariant viewModel);
    void onStart(TsModel tsModel);
    void onSuccess(TsModel tsModel);
    void onFailure(TsModel tsModel);
    void onSleep(TsModel tsModel);
    void onNoSupport(TsModel tsModel);
    void onExit(TsModel tsModel);

    void init();
    void unInit();
    void closed();
    
signals:
    
public slots:

private slots:
    void on_Btn_calibrationCalculate_clicked();

    void on_comboBox_sampNumber_currentIndexChanged(const QString &arg1);

    void on_comboBox_bloodMode_currentIndexChanged(const QString &arg1);

    void on_Btn_freshBloodSave_clicked();

    void on_Btn_ftest_clicked();

private:
    Ui::FreshBloodCalibrationWgt *ui;
    CalibrationCalculateDialog *calibrationCalculateDialog;
    FreshBloodViewModel mFreshBloodViewModel;
    FreshBloodCalibration mFreshBloodCalibration;

};

#endif // CALIBRATION_VIEW_FRESHBLOODCALIBRATIONFORM_H
